Thema: Continuous ‚Everything‘

Property-based Testing (nicht nur) in Java

Testgetriebene Entwicklung in objektorientierten Sprachen setzt bislang meist auf beispielbasierte Testfälle, wie man sie leicht mit JUnit und ählichen Testframeworks erstellen kann. Schaut man jedoch über den Tellerrand und auf funktionale Programmiersprachen wie z.B. Haskell oder F#, findet man dort etwas anderes: Property-Tests.

Property-Tests basieren auf der Idee, die erwünschten Eigenschaften unseres Programms zu beschreiben und anschließend das Framework selbstständig Testfälle generieren zu lassen, die diese Eigenschaften bestätigen oder falsifizieren. In diesem Vortrag werde ich sowohl auf die Theorie hinter Property-based Testing eingehen als auch konkret zeigen, wie man mit jqwik unter Java und anderen JVM-Sprachen solche Tests umsetzen kann. Dabei spielen die Muster zum Finden der Properties eine wichtige Rolle.

Johannes Link

Johannes Link ist selbstständiger Softwaretherapeut und hilft Teams bei der Einführung und Umsetzung aktueller Entwicklungspraktiken.

Er ist seit mehr als 20 Jahren beruflich in der Softwareentwicklung aktiv und hat seine Begeisterung für das Programmieren dabei nicht verloren. Das Thema testgetriebene Entwicklung beschäftigt ihn schon von Beginn an und er hat darüber zwei Bücher geschrieben, an einigen anderen mitgewirkt und viele Artikel und Vorträge veröffentlicht.

Johannes war im ursprünglichen Kernteam von JUnit 5. Sein aktuelles Steckenpferd ist jqwik, eine Werkzeug zum Property-based Testing auf der JVM.

Mehr über ihn erfährt man auf johanneslink.net und auf Twitter (@johanneslink).